home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / internet / other / ka9q / n890421.zoo / readme.st < prev    next >
Encoding:
Text File  |  1992-06-20  |  16.4 KB  |  364 lines

  1. README file for the ST versinn
  2. ------------------------------
  3.  
  4. parts modified by devans@cix    15-June-1991
  5.  
  6. This version is from the Linux port of ka9q found at aramis.rutgers.edu.
  7. It has been hacked about a bit to make it work on the ST
  8.  
  9. The Linux version of KA9Q net is from the original port by Klement Anders with
  10. oversight from Bob Hoffman at cs.pitt.edu.  There has been one major bug fix and
  11. several minor changes to the original ported code.  This code base as been
  12. in active use for over 18 months and has held up very well with use off of
  13. a digital repeater in southern california.  We here a Interactive Systems
  14. have been using this software and find it to work very well.  One of the
  15. changes that was installed, was when you do the "n ro" command that lists the
  16. netrom routes that you know of, it will tell you how many netrom stations
  17. are in the table.  This becomes important when you have an average list of
  18. 100 - 125 stations in the table at a time.
  19.  
  20. This version runs under Atari St TOS
  21.  
  22. Any questions on this can be mailed to:
  23.  
  24. devans@cix.compulink.com
  25.  
  26.  
  27. Have fun using it ITS GREAT  Thanks Phil.  Thanks Klement.
  28.  
  29. Bob Teeter N6XJJ
  30.  
  31. KA9Q TCP is an implementation of TCP/IP for the PC.  This is a Unix
  32. port based on a version from mid-1989.  Unfortunately the more recent
  33. versions of KA9Q are harder to port to Linux.
  34.  
  35. I don't have a manual for this exact version.  There's builtin help.
  36. The commands primarily set parameters (the ip and tcp commands), or
  37. start services.  In general the same command is used to set and
  38. examine parameters.  When you type the command with no value, it shows
  39. the current value. 
  40.  
  41. To use KA9Q, put startup.net and possibly domain.txt in your root (ST)
  42. directory, and run "net".  You will probably need to tailor
  43. startup.net for your configuration.  See the section at the end of
  44. this document on configuration.  Note that you can give an argument to
  45. the "net" command.  It will be used as the startup file in place of
  46. startup.net.  By default, startup.net and other files are in your root
  47. directory.   You can not put
  48. them anywhere else (to be fixed in the next version).
  49.  
  50. If you are using SLIP, note that you must first dial the modem and
  51. establish a SLIP connection.  The exact details on doing this are
  52. different at each site.  Unfortunately you're probably going to need
  53. help from system or network support staff in order to use SLIP.
  54. Because SLIP effectively connects you to someone's local network,
  55. using it normally requires logging in with a password.  I recommend
  56. using kermit's script facility to dial and set up SLIP.  It did not
  57. seem work adding a similar facility to KA9Q.  [Use ZMDM or UNITERM, etc ]
  58.  
  59.  
  60. Aside from configuration commands (which typically go into
  61. startup.net), the most common commands are probably telnet and ftp.
  62. Both take a host name.  Once you are connected, the "escape character"
  63. (initially ^]) lets you do some special things.  You type it followed
  64. by another character. Except for the escape character, the characters
  65. are folded, so that c, C, and ^C are equivalent.  Here's a list of the
  66. special characters:   [This may or may not work on the ST, I do not
  67. have a Telnet server to try them on - dje ]
  68.  
  69.  
  70.   escape character (i.e. two in a row) - send a real escape character
  71.   x or ^x - return to command mode
  72.   b or ^b - send break
  73.   c or ^c - send interrupt process
  74.   o or ^c - abort output
  75.   t or ^t - are you there?
  76.   h or ^h - send telnet erase character
  77.   u or ^u - send telnet erase line
  78.   ?       - print this help message
  79.   
  80. Once you return to command mode, the "session" command can be used to
  81. switch between connections.  With no arguments, it shows the current
  82. sessions.  With a number, it will reconnect you to that session.
  83. There's a disconnect command to kill a session (also some stronger
  84. ways of doing it).
  85.  
  86. Telnet normally operates in full duplex, with the other system
  87. echoing.  However if that system refuses echoing, or if you use the
  88. command "echo refuse", KA9Q will echo locally.  In this case you have
  89. the normal line editing functions.  Several control characters have
  90. special functions.  Note that in local echo mode, you do not need to
  91. hit the escape character first.
  92.  
  93.   escape character - return to command mode
  94.   ^v - quote the next character
  95.   ^b - send break
  96.   ^c - send interrupt process
  97.   ^o - abort output
  98.   ^t - are you there?
  99.  
  100. Telnet will pass your TERM environment variable as the terminal type
  101. if the other end asks for it. [I doubt this works on the ST version]
  102. It will implement flow control locally
  103. if the other end understand the remote flow control option.  If the
  104. other end does a "telnet sync" correctly, it will suppress output when
  105. appropriate.  E.g. when talking to a Unix system, if you type ^C or ^O
  106. in the middle of a large output, output should stop immediately.
  107. However there may be a pause before getting the next prompt, as some
  108. previously buffered data is probably still going to be transmitted.
  109.  
  110. The "ip stat" and "tcp stat" commands are useful to get statistics.
  111. "Ip stat" shows both the IP and SLIP level.  If header compression is
  112. being used, it will show how many packets were compressed and how many
  113. were oot.
  114.  
  115. FTP is sort of odd.  It looks like you are in an interactive
  116. conversation with the FTP server at the other end, with no local
  117. command prompt.  Most commands are passed directly to the remote
  118. server, but in fact there is a local command parser, which will
  119. intervene for a few commands:
  120.  
  121.    cd, dir, list, get, ls, mkdir, nlst, rmdir, put, type
  122.  
  123. get and put should be used to transfer files.
  124.  
  125. It's possible to run a server which others can connect to, though I
  126. haven't tried it except for ftp.  The command is "start ftp", etc.
  127. For ftp, a login is required.  The file ftpusers, in your home
  128. directory, contains a list of users and passwords.
  129.  
  130. Here's a list of commands:
  131.  
  132.    ! - call a recursive shell  (not on ST !)
  133.    arp - set arp parameters
  134.    ax25 - configure ham interface
  135.    attach - define an interface - must be used for each interface
  136.    bootp - request our IP address from a server
  137.    connect - for AX25, define call sign for interface
  138.    cd
  139.    close
  140.    disconnect
  141.    dir - do a directory on the local system [use \ in filenames ]
  142.    domain - configure domain name system
  143.    eaglestat
  144.    echo - refuse or accept - request to disable telnet remote echo
  145.    eol - Unix or standard end of line options [standard is recommended,
  146.     even for use on Unix systems]
  147.    escape - change escape character  [Not on ST ?]
  148.    etherstat
  149.    exit
  150.    finger
  151.    forward - divert packets from one interface to another
  152.    ftp - open an ftp connection
  153.    hapnstat
  154.    help - print command list
  155.    hostname - set/examine host name
  156.    kick
  157.    log
  158.    ip - set/examine IP level parameters
  159.    memstat
  160.    mbox, mode - AX25 commands
  161.    mulport
  162.    netrom
  163.    nrstat
  164.    param - set/examine interafce parameters
  165.    ping - send ping to a host
  166.    pwd 
  167.    rdate [offset] [host] - set date/time from UDP time daemon.  see below
  168.     (rdate is disabled )
  169.    record
  170.    remote - what does this do ?
  171.    reset - kill connection
  172.    route - set up routes
  173.    session - see above: move to a different session
  174.    shell - call a subshell - NO WAY !
  175.    smtp - mail handling
  176.    start - start server
  177.    stop - stop server
  178.    tcp - set/examine tcp parameters
  179.    telnet - open telnet connection
  180.    trace - enable low-level debugging (no arguments - show current status)
  181.     trace to <file> - put trace output on file (use "con" for console)
  182.     trace <device> [<bits>] - trace packets on device
  183.         device is typically "sl0" or "loopback"
  184.         bits are in hex:
  185.             1 - output, 10 - input (else no tracing)
  186.             100 - dump data in ascii, 200 - hex (else headers only)
  187.     trace cmdmode|allmode - show trace just when at command level?
  188.     trace telnet [on | off] - show telnet options and urgent data
  189.    udp - set/examine udp parameters
  190.    upload
  191.    wait - control mail select
  192.  
  193. The rdate command uses the old-style time protocol (often known as
  194. "rdate"), on UDP port 37, to get the date and time, and then sets the
  195. system clock.  Note that the protocol always gives time in GMT.  If
  196. your system clock is running on GMT (which is the normal way Unix
  197. should run), this is fine.  Otherwise, you'll need to specify the
  198. offset in minutes.  For time zones west of GMT, this should be a
  199. negative number. For the Eastern U.S., when not in daylight time, the
  200. offset is -300, because EST is 5 hours (300 minutes) west of GMT.
  201. If no host is specified, a UDP broadcast is used.
  202.  
  203. This configuration of KA9Q has been tested only with SLIP.  Code is
  204. also included for the KISS device (for ham radio) and Linux generic
  205. Ethernet support using /dev/eth.  /dev/eth should either work or come
  206. close to working: it's based on diffs made from a recent version of
  207. KA9Q.  I don't know of anyone who has tested KISS.  Past experience
  208. suggests that users will prefer Kermit to SLIP unless you use SLIP
  209. with header compression.
  210.  
  211. Note that this program depends up non-blocking I/O and the select
  212. system call.  In Linux 0.12, these did not work.  There are patches,
  213. nonblock.tar.Z and select.patch, on the major distribution machines.
  214. Don't forget: after patching a kernel source file, you must do a make
  215. in each directory where you changed a file.  The main make file
  216. doesn't rebuild things all the time when it should.  Linux 0.95
  217. and later has all the necessary patches.  [not applicable to ST]
  218.  
  219.  
  220. CONFIGURATION:
  221.  
  222. Here's some advice on preparing a configuration file.  I assume you're
  223. planning to use SLIP (dialup IP) or Ethernet.  I'm going to explain my
  224. configuration file line by line, as it's likely to be close to what
  225. you need:
  226.  
  227.    attach asy AUX: 0   cslip sl0 2048 1500 9600
  228.  
  229. You must include an attach command in every configuration file.  It
  230. defines the device.  For SLIP, the line above should be about right.
  231. Some variationos:
  232.    - AUX: is the serial line.  Obviously you can adjust this
  233.     to use a different line.
  234.    - cslip specifies SLIP with Van Jacobsen header compression.
  235.     If you're using normal slip, use "slip" instead of "cslip".
  236.     In my opinion, response on normal SLIP is too slow for it
  237.     to be very useful. (cslip not tested on ST version)
  238.    - 9600 is the line speed.  Use whatever speed you are set for.
  239.     If you have a "smart" modem, we recommend turning off
  240.     any error correction or compression.  These features
  241.     introduce enough delay to be objectionable. ( debatable - dje )
  242.  
  243. The following attach command could be used for Linux generic
  244. Ethernet (/dev/eth)
  245.   attach linux arpa eth0 1500 1.2.3.fa.fb.fc
  246. The last item is your Ethernet hardware address, in hex.  It should
  247. be printed when your system boots.  E.g. if it prints 01 02 03 04 05 06
  248. then you put in 1.2.3.4.5.6.  Each of the six numbers is in hex, and
  249. may be one or two digits.
  250.  
  251.   wait 0
  252.  
  253. This should only be needed with older version of the kernel.  It
  254. disables the select system call.  Instead, runs in a tight loop
  255. continuously testing for input.  Unfortunately select has a history of
  256. problems under Linux.  It appears to be fine in version 0.96.  However
  257. in earlier version, select did not work properly when there was
  258. another program running.  (In some cases it works OK unless the other
  259. program uses select.  E.g.  if you enter emacs in another window, your
  260. FTP comes to a halt.)  If you are trying to use KA9Q while another
  261. program is running, and you find that the connection hangs, you might
  262. try "wait 0".  Otherwise, you should leave the default setting, which
  263. is "wait 100".  The argument to wait is in milliseconds.  It's the
  264. amount of time to wait in the main loop.  The select will trigger if
  265. input arrives on the serial line, or you hit a key.  Otherwise it
  266. waits this amount of time.  I don't recommend values larger than 100.
  267. Smaller values might possibly be useful in some siuations.
  268.  
  269.   route add default sl0
  270.  
  271. This says that all packets should be sent out the SLIP line.  Presumably
  272. this is what you want.  If you are using Ethernet, of course you'd
  273. use the name of your Ethernet device instead of sl0, e.g.
  274.   route add default eth0
  275.  
  276.   bootp    (not on ST )
  277.  
  278. This says that the system will find out its IP address by sending a
  279. BOOTP request out the serial line.  Since dialups are normally  
  280. in "hunt groups", you will probably get a different line each time
  281. you dial up.  Thus your IP address will probably not be the same.
  282. BOOTP is a way of asking the terminal server (or whatever else
  283. you're connected to) to tell you your IP address.  If your terminal
  284. server does not support BOOTP, you explicitly set your IP address
  285. using a command of the form
  286.    ip address [1.2.3.4]
  287. where 1.2.3.4 is your IP address.  You would use this command
  288. instead of the BOOTP command.
  289.  
  290.   tcp mss 64
  291.   tcp window 256
  292.  
  293. These commands set TCP performance parameters.  These control a
  294. tradeoff between overall throughput, jerkiness of output, etc.  These
  295. parameters seem to give good performance for interactive connectionos.
  296. For FTP you might want larger values, particularly if you are going
  297. over a long-haul network like the Internet.  For FTP the best value
  298. for mss is at least 512, and probably more like 1024, with window
  299. between 2 and 4 times mss.  However Linux has fairly small buffers for
  300. the serial line, so you may not be able to get away with parameters
  301. much larger than the ones shown here.  If you are using Ethernet,
  302. of course you'll want larger values.  I suggest starting with
  303.   tcp mss 1460
  304.   tcp window 5840
  305. This should work for traffic on the local Ethernet.  If your 
  306. traffic tends to go through routers, a safer set of values is
  307.   tcp mss 512
  308.   tcp window 2048
  309.  
  310.   domain suffix demon.co.uk
  311.   domain add [128.6.4.4]
  312.  
  313. These parameters control the domain system.  That's the set of servers
  314. you use to look up host names.  You'll need to adjust these for your
  315. campus.  The suffix is tacked onto all host names you type, unless
  316. they already have a dot in them.  This lets you type "news" instead
  317. of "news.demon.co.uk".  Set it for the domain you most commonly use.
  318. The address 128.6.4.4 should be the address of a domain server on your
  319. campus.  All name lookups will be directed to that server.  You can
  320. define more than one, by using several "domain add" lines.
  321.  
  322. If your campus (Oh! to be on a Southern CA campus !) does not support the
  323. domain system, you can use a host table instead.  In that case you
  324. would omit the "domain" commands. The host table is called
  325. "domain.txt", in your home directory.  It's in the format of a domain
  326. master file.  The most important entries look like
  327.    athos.rutgers.edu. IN A 128.6.4.4
  328. Note that IN and A must be in upper case, and the name must include
  329. the whole suffix, and end in a dot.   DOT is vital !!! 
  330.  
  331. Note that this is a very old domain implementation, and is not up to
  332. the level of the current MS/DOS version.  It does not use TTL's.
  333. Every time you type a name, it first looks in domain.txt.  If there's
  334. an entry there, it will be used.  Otherwise, it will query the domain
  335. server you specified.  If it gets an answer, that information will be
  336. added to domain.txt.  If a host changes its address, you'll be in
  337. trouble, because you'll continue getting the old information from
  338. domain.txt.  Thus it's probably a good idea to remove domain.txt now
  339. and then.
  340.  
  341.   start finger
  342.   start telnet
  343.  
  344. These start daemons to respond to incoming finger and telnet
  345. connections.  This is optional, but most people will probably find
  346. them useful to help people find you.  The finger server uses files
  347. stored in a subdirectory "finger" of your home directory.  Files
  348. should have names of the form xxx.txt, where xxx is a user name.
  349. Finger with no arguments will list all users on the system (i.e.  it
  350. will look for all files ~/finger/*.txt, and list the names).  Finger
  351. with a specific user name will display the text of that file, i.e.
  352. ~/finger/xxx.txt.
  353.  
  354. The telnet server is really more like a talk link.  When someone
  355. telnets to your machine, you'll get a message saying that there is an
  356. incoming telnet connection.  At that point you should escape to the
  357. coommand level (using ^] or whatever your escape character is), do
  358. "session" to see the session number of the incoming connection and do
  359. "session NN" to connect to it.  At that point you'll be in an
  360. interactive link with the person.  There is also a server designed to
  361. allow "real" telnet connections, i.e. connections that create a real
  362. login session.  It is activated with the command "start telunix".
  363. However that code is incomplete, and currently does nothing useful.
  364.